﻿/*
-------------------------------------------
    Rodeo Game Engine
    
    Rodeo Core Module
    Error.h - header file

    Copyright(c) Marcin Goryca
-------------------------------------------
*/
#ifndef RODEO_CORE_ERROR_H_
#define RODEO_CORE_ERROR_H_

#ifndef RODEO_CORE_CONSTANTS_H_
#include "core\constants.h"
#endif    //RODEO_CORE_CONSTANTS_H_

namespace rodeocore
{
//------------------------------- 
//    WINDOWS ERRORS
//-------------------------------

// If RegisterClassEx fails this message will show up
const char* const registerFailMessage = "Cannot Register Window Class";

// If CreateWindowEx fails this message will show up
const char* const createFailMessage = "Cannot Create Window Class";

//------------------------------
//    TGA FILES ERRORS
//------------------------------

// If there are problems to find this file
const char* const tgaLoadFail = "Couldn't Load TGA File";

// If file has invalid size
const char* const tgaInvalidSize = "Invalid File Size";

//-------------------------------
//    3DS FILES ERRORS
//-------------------------------

// If system cannot find this file
const char* const file3dsFail = "Couldn't Load 3ds File";

// This is not proper .3DS file
const char* const file3dsError = "This is Not .3DS File OR is Not Supported";

//------------------------------
//    HTML FILES ERRORS
//------------------------------

// If system cannot load HTML file
const char* const htmlFileLoadFail = "Couldn't Load HTML file";

//------------------------------
//    ALL FILES ERRORS
//------------------------------

// If file cannot be opened
const char* const fileFail = "Couldn't open file";

// If file cannot be loaded
const char* const loadFail = "File Open Failed!";

// File cannot be read
const char* const readFail = "Couldn't read file";

// Invalid handle
const char* const invalidHandleValue = "Invalid Handle Value";

// Win32 error - changed for convinience?
const ui errIconOK = MB_ICONERROR | MB_OK;

//--------------------------------
//    FONT ERRORS
//--------------------------------

// System cannot create font 
const char* const FONTCREATEFAIL = "Couldn't create font!";

// Font Unknown Error
const char* const FONTFAIL = "Font Error";

const char* const FreeType_Library_Load_Fail = "Couldn't Load FreeType Library.\nQuiting...";

const char* const FreeType_Unknown_File_Format = "Specified Font File Format is NOT SUPPORTED.\nQuiting...";

const char* const FreeType_Broken_Font_File = "Font File Could NOT be Opened or File is Broken.\nQuiting...";

const char* const FreeType_Char_Size_Error = "Couldn't set char size.\nQuiting...";


//----------------------------------
//    TEXT ERRORS
//---------------------------------

// There is no text to print
const char* const NOTEXTTOPRINT = "There's NO Text to Print!";

// Text error
const char* const NOTEXT = "Text Error";

//------------------------------
//    LOG ERRORS
//------------------------------

// System cannot open the log file
const char* const logFileError = "Couldn't open Log file";

//------------------------------
//    DDS FILES
//------------------------------

// Cannot load DDS file
const char* const ddsLoadFail = "Couldn't Load DDS File";

//------------------------------
//    PNG FILES
//-------------------------------

// Cannot load PNG file
const char* const pngLoadFail = "Couldn't Load PNG File";

//------------------------------
//    OBJ FILES
//------------------------------

// Cannot open OBJ file
const char* const objLoadFail = "Couldn't Load OBJ File";

//-------------------------------
//   XMLParser ERROR
//-------------------------------

// Cannot open XML File
const char* const xmlParserFail = "Couldn't Load XML File!";

// This is for Title Bar in the Message Box
//	Rodeo Game Engine header
const char* const HEADER = "RODEO GAME ENGINE";

//---------------------------------
//    FMOD Errors
//---------------------------------

const char* const FMODSystemFail = "Couldn't Create FMOD System Object!";

const char* const FMODVersionFail = "Couldn't Get FMOD Version!";

const char* const FMODVersionNotSupported = "FMOD Version NOT Supported!";

const char* const FMODDriversEnumerateFail = "Couldn't Enumerate FMOD Drivers!";

const char* const FMODSoundDriversFail = "No Sound Drivers Available!";

const char* const FMODSpeakerModeNotAvailable = "Speaker Mode Not Available!";

const char* const FMODSetSpeakerModeFail = "Couldn't Set Speaker Mode!";

const char* const FMODDSPBufferSizeFail = "Couldn't Set DSP Buffer Size";

const char* const FMODDriverInfoFail = "Couldn't Get Driver Info";

const char* const FMODSpeakerModeStereoFail = "Couldn't Set Speaker Mode To Stereo";

const char* const FMODSystemInitializeFail = "Couldn't Initialize FMOD System Object";

const char* const CreateSoundObjectFirst = "You MUST Call GetFileSound(const char* filename) First!";

const char* const CreateSoundObjectFail = "Couldn't create Sound Object!";

const char* const CannotPlaySound = "Cannot Play sound!";

const char* const SetVolumeFail = "Set Volume Failed!";

//-------------------------------------
//    OPENGL ERRORS
//-------------------------------------

// User GPU not supports OpenGL version
const char* const OpenGLVersionNotSupported = "Sorry, your GPU doesn't support OpenGL 2.0!\nTerminating...";

//-------------------------------------
//    MEMORY ERRORS
//-------------------------------------

// Allocate memory fails
const char* const AllocateMemoryFail = "Couldn't Allocate Enough Memory!";

}    //end of rodeocore namespace
#endif    //RODEO_CORE_ERROR_H_